package com.beta.cust.bind.datasync.mapper.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.sql.Timestamp;

/**
 * <p>
 * 客户详情表
 * </p>
 *
 * @author pcc
 * @since 2024-03-12
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "CustInfo对象", description = "客户详情表")
@TableName("wxwork_cust_info")
public class CustInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "企业corpid")
    private String corpId;

    @ApiModelProperty(value = "外部联系人的userid")
    private String externalUserid;

    @ApiModelProperty(value = "外部联系人的名称如果外部联系人为微信用户，则返回外部联系人的名称为其微信昵称；如果外部联系人为企业微信用户，则会按照以下优先级顺序返回：此外部联系人或管理员设置的昵称、认证的实名和账号名称")
    private String name;

    @ApiModelProperty(value = "外部联系人头像，第三方不可获取")
    private String avatar;

    @ApiModelProperty(value = "外部联系人的类型，1表示该外部联系人是微信用户，2表示该外部联系人是企业微信用户")
    private Integer type;

    @ApiModelProperty(value = "外部联系人所在企业的简称，仅当联系人类型是企业微信用户时有此字段")
    private String corpName;

    @ApiModelProperty(value = "外部联系人所在企业的主体名称，仅当联系人类型是企业微信用户时有此字段")
    private String corpFullName;

    @ApiModelProperty(value = "外部联系人的职位，如果外部企业或用户选择隐藏职位，则不返回，仅当联系人类型是企业微信用户时有此字段")
    private String position;

    @ApiModelProperty(value = "外部联系人性别 0-未知 1-男性 2-女性")
    private Integer gender;

    @ApiModelProperty(value = "外部联系人在微信开放平台的唯一身份标识（微信unionid），通过此字段企业可将外部联系人与公众号/小程序用户关联起来。仅当联系人类型是微信用户，且企业或第三方服务商绑定了微信开发者ID有此字段。查看绑定方法")
    private String unionid;

    @ApiModelProperty(value = "是否已认证0未认证 1已认证")
    private Integer certified;

    @ApiModelProperty(value = "客户唯一id")
    private String crmCustId;

    @ApiModelProperty(value = "删除标志 0 未删除 1 已删除")
    private String delFlag;

    @ApiModelProperty(value = "修改时间")
    private Timestamp updateTime;

    @ApiModelProperty(value = "创建时间")
    private Timestamp createTime;


}
